Storage area networks (SANs) are networks that provide access to consolidated, block level data storage. SANs help to increase storage capacity utilization by allowing multiple servers to consolidate private storage space onto pooled storage devices. In this manner, storage is virtualized in that host or server capacity is no longer tied to single storage devices.
Allocating capacity resources to virtualize storage images generally involves two different entities: (1) the SAN administrator, who is in charge of creating virtual block resources at a storage appliance and mapping the resources to a physical host device; and (2) the system administrator who either creates or updates a data container with the virtual block or assigns the virtual block to a virtual image. One of the challenges with such a system however involves identifying and reclaiming unused virtual blocks. Currently, there is no simple mechanism for determining which blocks are available for reclamation in a virtual data container, resulting in virtual containers with unused block storage capacity and storage devices with peak limits.